//
//  LYEmoticonManager.swift
//  EmoticonKeyboard
//
//  Created by liuerying on 16/5/31.
//  Copyright © 2016年 liuerying. All rights reserved.
// 表情数据管理类

/*
   1.获取emoticons.plist 文件中的分组文件夹名称
 2. 根据分组文件夹 加载 info.plist 文件
 3. 根据emoticons 这个key 获取所有的分组表情
 4. 需要将分组表情数组处理成二维数组
 
 
 */

import UIKit

class LYEmoticonManager: NSObject {

    static  let sharedEmoticonTools:LYEmoticonManager = LYEmoticonManager()
    
    lazy var packages:[LYEmoticonPackage] = [LYEmoticonPackage]()
    
    //重写构造方法
  private  override init() {
        super.init()
        
        loadEmoticons()
    }
    
    func loadEmoticons(){
    
        //获取emoticons.plist 文件路径
        let path = NSBundle.mainBundle().pathForResource("emoticons.plist", ofType: nil, inDirectory: "Emoticons.bundle")!
        //使用字典的方式加载文件数据
        let dict = NSDictionary(contentsOfFile: path) as! [String: AnyObject]
        //获取字典数据
        let array = dict["packages"] as! [[String:AnyObject]]
        
        
        for item in array{
        
            //获取id 分组名称
            let id = item["id"] as! String
            
            //加载分组表情
            loadPackages(id)
        }
    }
    
    //MARK: 加载分组表情
    private func loadPackages(id: String){
    
        let path = NSBundle.mainBundle().pathForResource("info.plist", ofType: nil, inDirectory: "Emoticons.bundle/" + id )!
        
        let dict = NSDictionary(contentsOfFile: path)!
        
        //给分组模型对象的title赋值
        let group_name_cn = dict["group_name_cn"] as! String
        
        //获取表情字典数组
        let array = dict["emoticons"] as! [[String: String]]
        
        let p = LYEmoticonPackage(id: id, title: group_name_cn, array: array)
        
        packages.append(p)
    }
    
}
